home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 February / CHIPCD_02_2002.iso / Internet / Macromedia ColdFusion Server 5 / coldfusion-50-win-us.exe / data1.cab / Program_Files / BIN / export50.cfm (.txt) < prev    next >
Encoding:
ColdFusion Encrypted Template  |  2001-06-13  |  10.9 KB  |  277 lines

  1. <!--- get the exportfile name for a CGI variable 
  2.       "exportfile=full_path_name"
  3. --->
  4. <CFSET SmBranch="HKEY_LOCAL_MACHINE\SOFTWARE\Allaire\ColdFusion\CurrentVersion">
  5. <cfregistry action="SET" branch="#SmBranch#" entry="SmExportCompleted" type="String" value="0">
  6.  
  7. <cfoutput> 
  8.  
  9. <cfregistry action="GET"
  10.             branch="HKEY_LOCAL_MACHINE\SOFTWARE\Allaire\ColdFusion\CurrentVersion"
  11.             entry="RootDirectory"
  12.             variable="rootDir"
  13.             type="String">
  14.  
  15. <!--- if you don't pass in the exportfile then use the 50 as default ---> 
  16. <cfif NOT isdefined("exportfile")> 
  17. <cfset exportfile = "smpolicy50export.xml"> 
  18. </cfif>
  19.  
  20. <cfset PolicyFile="#rootDir#\database\#exportfile#">
  21. </cfoutput> 
  22.  
  23.  
  24. <cfset LOGFILE=replace(PolicyFile,".xml","_xml.log")>
  25.  
  26. <!--- check siteminder password ---->
  27. <!--- <CFSET PASSWORD_KEY = "4p0L@r1$">
  28. <CFSET EcryptedPassword = cfusion_Encrypt( #password#, PASSWORD_KEY )>
  29. <CFREGISTRY ACTION=GET
  30.             Branch="HKEY_LOCAL_MACHINE\SOFTWARE\Allaire\ColdFusion\CurrentVersion\Server"
  31.             Entry="SecurityServerAdminPasswd"
  32.             Variable="AdminPassword">
  33.         <CFPARAM Name="AdminPassword" Default="NoPasswordRegistered">
  34. <CFIF CompareNoCase( EcryptedPassword, AdminPassword) IS NOT 0>
  35.         <!--- The password is missing or invalid. --->
  36.             <cfoutput>Password Invalid or not entered!!</cfoutput>
  37.             <CFABORT>
  38.         </CFIF>     --->
  39.  
  40. <!--- <userdirectory> --->
  41.  
  42.     <!--- Get user directory names names --->
  43. <CFTRY>    
  44. <CFFILE ACTION="Write"
  45.     FILE="#PolicyFile#"
  46.     OUTPUT="<policystore>">
  47.     <CFFILE ACTION="Write" FILE="#LOGFILE#" OUTPUT="Extracting Policy Store...
  48.     ">    
  49. <CFCATCH TYPE="Any">
  50.     <CFFILE ACTION="Write" FILE="#LOGFILE#" OUTPUT="Unable to write to #PolicyFile#">
  51. </CFCATCH>    
  52. </CFTRY>    
  53.  
  54. <CFTRY>
  55.     <CFNewInternalAdminSecurity ACTION=GETUSERDIRECTORY QUERY=UserDirectories>
  56.     <CFFILE ACTION="Append"
  57.     FILE="#PolicyFile#"
  58.     OUTPUT="<userdirectories>">
  59.     <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="
  60.     USERDIRECTORIES
  61.     ">    
  62.  
  63.     <!--- Get descriptions --->
  64.     <CFLOOP Query="UserDirectories">
  65.     <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Extracting userdirectory #UserDirectories.Name# ...">
  66.     <CFTRY>
  67.             <CFNewInternalAdminSecurity ACTION=GETUSERDIRECTORY QUERY=UserDirectory NAME=#UserDirectories.Name# >
  68.     <CFFILE ACTION="Append"
  69.     FILE="#PolicyFile#"
  70.     OUTPUT="<userdir>
  71.         <name>#UserDirectories.Name#</name>
  72.          <desc>#UserDirectory.description#</desc>
  73.         <server>#UserDirectory.server#</server>
  74.         <username>#UserDirectory.UserName#</username>
  75.         <password>#UserDirectory.Password#</password>
  76.         <secureconn>#UserDirectory.secureconnect#</secureconn>
  77.         <namespace>">
  78.         <CFSET NameSpace    = UserDirectory.type> 
  79.     <CFIF NameSpace IS 'LDAP:'>
  80.         <CFFILE ACTION="Append"
  81.         FILE="#PolicyFile#"
  82.             OUTPUT="        <name>LDAP</name>
  83.             <SearchRoot>#UserDirectory.search_root#</SearchRoot> 
  84.             <LookupStart><![CDATA[#UserDirectory.lookup_start#]]></LookupStart>
  85.             <LookupEnd>#UserDirectory.lookup_end#</LookupEnd>
  86.             <SearchTimeout>#UserDirectory.timeout#</SearchTimeout>
  87.             <SearchResults>#UserDirectory.results#</SearchResults>
  88.             <SearchScope>#UserDirectory.search_scope#</SearchScope>
  89.             ">
  90.     <CFELSEIF NameSpace IS 'ODBC:' >
  91.           <CFTRY>
  92.             <CFNewInternalAdminSecurity ACTION=GETODBCQUERYSCHEME QUERY=odbcScheme NAME=#UserDirectories.Name# >
  93.              <CFFILE ACTION="Append"
  94.             FILE="#PolicyFile#"
  95.             OUTPUT=" <name>ODBC</name>
  96.             <odbcschemename>#UserDirectories.Name#</odbcschemename>
  97.             <odbcschemedesc>#odbcScheme.description#</odbcschemedesc>
  98.             <authenticateuser>#odbcScheme.SQLAUTHUSER#</authenticateuser>
  99.             <enumerate>#odbcScheme.SQLENUM#</enumerate>
  100.             <getgroupproperty>#odbcScheme.SQLGETGROUPPROP#</getgroupproperty>
  101.             <getgroupproperties>#odbcScheme.SQLGETGROUPPROPS#</getgroupproperties>
  102.             <getusergroups>#odbcScheme.SQLGETGROUPS#</getusergroups>
  103.             <getuserorgroupinfo>#odbcScheme.SQLGETOBJINFO#</getuserorgroupinfo>
  104.             <getuserproperty>#odbcScheme.SQLGETUSERPROP#</getuserproperty>
  105.             <getuserproperties>#odbcScheme.SQLGETUSERPROPS#</getuserproperties>
  106.             <inituser>#odbcScheme.SQLINITUSER#</inituser>
  107.             <isgroupmember>#odbcScheme.SQLISGROUPMEMBER#</isgroupmember>
  108.             <lookup>#odbcScheme.SQLLOOKUP#</lookup>
  109.             <lookupgroups>#odbcScheme.SQLLOOKUPGROUP#</lookupgroups>
  110.             <lookupusers>#odbcScheme.SQLLOOKUPUSER#</lookupusers>
  111.             <setgroupproperty>#odbcScheme.SQLSETGROUPPROP#</setgroupproperty>
  112.             <setuserproperty>#odbcScheme.SQLSETUSERPROP#</setuserproperty>">
  113.         <CFCATCH TYPE="Any">
  114.             <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to Extract ODBC Scheme for #UserDirectories.Name#">
  115.         </CFCATCH>
  116.         </CFTRY>
  117.     <CFELSE>
  118.         <CFFILE ACTION="Append"
  119.         FILE="#PolicyFile#"
  120.         OUTPUT="        <name>NT</name>">
  121.     </CFIF>
  122.     <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="... Completed">
  123.  
  124.         <CFFILE ACTION="Append"
  125.         FILE="#PolicyFile#"
  126.         OUTPUT="        </namespace>
  127. </userdir>">
  128.     <CFCATCH TYPE="Any">
  129.             <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to Extract User Directoy #UserDirectories.Name#">
  130.     </CFCATCH>
  131.     </CFTRY>            
  132.  
  133.     </CFLOOP>
  134.     <CFFILE ACTION="Append"
  135.     FILE="#PolicyFile#"
  136.     OUTPUT="</userdirectories>"> 
  137. <CFCATCH TYPE="Any">
  138.         <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to Extract User Directories">
  139. </CFCATCH>
  140. </CFTRY>
  141.     
  142. <!--- <Security Contexts> --->
  143.     <!--- Get Security Contexts names --->
  144. <CFTRY>
  145. <CFNewInternalAdminSecurity ACTION=GETSECURITYCONTEXT QUERY=SecurityContexts>
  146. <CFFILE ACTION="Append"
  147.     FILE=#PolicyFile#
  148.     OUTPUT="<securitycontexts>">
  149.     <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="
  150.     SECURITYCONTEXTS
  151.     ">    
  152.     <!--- Get descriptions --->
  153.     <CFLOOP Query="SecurityContexts">
  154.     <CFTRY>
  155.     <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Extracting Security Context #SecurityContexts.Name# ... ">
  156.     
  157.     <CFNewInternalAdminSecurity ACTION=GETSECURITYCONTEXT NAME="#SecurityContexts.Name#" QUERY=SecurityContext>
  158.  
  159.     <CFFILE ACTION="Append"
  160.     FILE=#PolicyFile#
  161.     OUTPUT="<securitycontext>
  162.     <name>#SecurityContexts.Name#</name>
  163.     <description>#SecurityContext.Description#</description>">
  164.     <CFSET ContextBranch="HKEY_LOCAL_MACHINE\SOFTWARE\Allaire\ColdFusion\CurrentVersion\Security\#SecurityContexts.Name#">
  165.     <CFREGISTRY ACTION=GET Branch="#ContextBranch#" VARIABLE="ProtectAll" Entry="ProtectAll" Type="STRING" >
  166.     <CFIF ParameterExists( ProtectAll ) AND ProtectAll>  
  167.            <CFFILE ACTION="Append"   FILE=#PolicyFile#  OUTPUT="<protectall>Yes</protectall>">
  168.     <CFELSE>
  169.           <CFFILE ACTION="Append"   FILE=#PolicyFile#  OUTPUT="<protectall>No</protectall>">
  170.      </CFIF>        
  171.     <!--Get Security Context Realms-->
  172.     <CFTRY>
  173.     <CFNewInternalAdminSecurity ACTION=GETSECURITYREALM Directory="#SecurityContexts.Name#" QUERY="ApplyRealmList">
  174.         <CFLOOP Query="ApplyRealmList">
  175.                  <CFFILE ACTION="Append" FILE=#PolicyFile# 
  176.                  OUTPUT="<realm><name>#ApplyRealmList.Name#</name>
  177.                         <description>#ApplyRealmList.Description#</description></realm>">    
  178.         </CFLOOP>    
  179.     <CFCATCH TYPE="Any">
  180.      <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to extract Security Realms for #SecurityContexts.Name#">
  181.     </CFCATCH>
  182.     </CFTRY>    
  183.     <CFTRY>
  184.     <CFNewInternalAdminSecurity ACTION=GETRULE DIRECTORY="#SecurityContexts.Name#" QUERY="Rules">
  185.     <CFLOOP Query="Rules">
  186.     <CFSET ruleaction = "">
  187.                 <CFIF #Rules.Type# IS "CustomTag">
  188.                     <CFSET    ruleaction="" >        
  189.                 </CFIF>
  190.                 <CFFILE ACTION="Append" FILE=#PolicyFile# 
  191.                  OUTPUT="<rule><name>#Rules.Name#</name>
  192.                         <description>#Rules.Description#</description>
  193.                         <type>#Rules.Type#</type>
  194.                         <resource>#Rules.RESOURCE#</resource>">
  195.                         
  196.                         <CFIF #Rules.Type# IS "CustomTag">
  197.                         <CFFILE ACTION="Append" FILE=#PolicyFile# 
  198.                  OUTPUT="<action>#ruleaction#</action></rule>">        
  199.                         <cfelse>
  200.                         <CFFILE ACTION="Append" FILE=#PolicyFile# 
  201.                  OUTPUT="<action>#Rules.ACTION#</action></rule>">        
  202.                         </CFIF>
  203.      </CFLOOP>
  204.     <CFCATCH TYPE="Any">
  205.          <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to extract Rules for #SecurityContexts.Name#">
  206.     </CFCATCH>
  207.     </CFTRY>    
  208.     <CFTRY>
  209.     <CFNewInternalAdminSecurity ACTION=GETUSERDIRECTORYFORCONTEXT NAME="#SecurityContexts.Name#" QUERY="UD">
  210.     <CFLOOP Query="UD">
  211.     <CFFILE ACTION="Append" FILE=#PolicyFile# 
  212.                  OUTPUT="<userdirectory><name>#UD.directory#</name>
  213.                         </userdirectory>">
  214.     </CFLOOP>
  215.     <CFCATCH TYPE="Any">
  216.          <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to extract UserDirectories for #SecurityContexts.Name#">
  217.     </CFCATCH>
  218.     </CFTRY>
  219.     <CFTRY>
  220.     <CFNewInternalAdminSecurity ACTION=GETPOLICY DIRECTORY="#SecurityContexts.Name#" QUERY="Policies">
  221.     <cfset sc="#SecurityContexts.Name#">
  222.     <CFLOOP Query="Policies">
  223.             <CFFILE ACTION="Append" FILE=#PolicyFile# 
  224.              OUTPUT="<policy><name>#Policies.Name#</name>
  225.                          <description>#Policies.Description#</description>">
  226.             <CFTRY>
  227.                 <CFNewInternalAdminSecurity ACTION=GETRULEFORPOLICY DIRECTORY="#sc#" NAME="#Policies.Name#" QUERY="PR">                        
  228.                 <cfloop query="PR">
  229.                     <CFFILE ACTION="Append" FILE=#PolicyFile# OUTPUT="<rule><name>#PR.name#</name>
  230.                          </rule>">
  231.                 </CFLOOP>
  232.             <CFCATCH>
  233.                 <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to extract Rules for Policy #Policies.Name# under #SecurityContexts.Name#">
  234.             </CFCATCH>
  235.             </CFTRY>                        
  236.             <CFTRY>
  237.             <CFNewInternalAdminSecurity ACTION=GETUSERDIRECTORYFORCONTEXT NAME="#sc#" QUERY=UD>
  238.                 <CFLOOP Query="UD">
  239.                     <CFNewInternalAdminSecurity ACTION=GETUSERFORPOLICY DIRECTORY="#sc#" QUERY="PolicyUsers" NAME="#Policies.Name#" USER="#UD.directory#">
  240.                     <CFLOOP Query="PolicyUsers">
  241.                         <CFFILE ACTION="Append" FILE=#PolicyFile# 
  242.                          OUTPUT="<user><name>#PolicyUsers.user#</name>
  243.                         <directory>#PolicyUsers.directory#</directory>
  244.                         </user>">
  245.                     </CFLOOP>
  246.                 </CFLOOP>
  247.              <CFCATCH>
  248.                 <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to extract UserDirectories for Policy #Policies.Name# under #SecurityContexts.Name#">
  249.              </CFCATCH>
  250.              </CFTRY>                
  251.             <CFFILE ACTION="Append" FILE=#PolicyFile# 
  252.              OUTPUT="</policy>">
  253.     </CFLOOP>
  254.     <CFCATCH TYPE="Any">
  255.          <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to extract Policies for #SecurityContexts.Name#">
  256.     </CFCATCH>
  257.     </CFTRY>
  258.     <CFFILE ACTION="Append"
  259.     FILE=#PolicyFile#
  260.     OUTPUT="</securitycontext>">
  261.     <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="... Completed">    
  262.     <CFCATCH TYPE="Any">
  263.         <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to Extract Security Context #SecurityContexts.Name#">    
  264.     </CFCATCH>
  265.     
  266.     </CFTRY>
  267.     </CFLOOP>
  268.     <CFFILE ACTION="Append"
  269.     FILE=#PolicyFile#
  270.     OUTPUT="</securitycontexts></policystore>">
  271.     <CFCATCH TYPE="Any">
  272.         <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="Unable to Extract Security Contexts">    
  273.     </CFCATCH>
  274.     </CFTRY>    
  275.     <CFFILE ACTION="Append" FILE="#LOGFILE#" OUTPUT="
  276.     ... Completed Policy Store!!!">
  277.     <cfregistry action="SET" branch="#SmBranch#" entry="SmExportCompleted" type="String" value="1">